LWG Issue #2210 Part 4 - map/multimap git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190454 91177308-0d34-0410-b5e6-96231b3b80d8 
diff --git a/include/set b/include/set index 70b8d28..a537c5f 100644 --- a/include/set +++ b/include/set 
@@ -66,6 +66,11 @@  set(initializer_list<value_type> il, const value_compare& comp = value_compare());  set(initializer_list<value_type> il, const value_compare& comp,  const allocator_type& a); + template <class InputIterator> + set(InputIterator first, InputIterator last, const allocator_type& a) + : set(first, last, Compare(), a) {} // C++14 + set(initializer_list<value_type> il, const allocator_type& a) + : set(il, Compare(), a) {} // C++14  ~set();    set& operator=(const set& s); @@ -242,6 +247,11 @@  multiset(initializer_list<value_type> il, const value_compare& comp = value_compare());  multiset(initializer_list<value_type> il, const value_compare& comp,  const allocator_type& a); + template <class InputIterator> + multiset(InputIterator first, InputIterator last, const allocator_type& a) + : set(first, last, Compare(), a) {} // C++14 + multiset(initializer_list<value_type> il, const allocator_type& a) + : set(il, Compare(), a) {} // C++14  ~multiset();    multiset& operator=(const multiset& s); @@ -442,6 +452,13 @@  insert(__f, __l);  }   +#if _LIBCPP_STD_VER > 11 + template <class _InputIterator> + _LIBCPP_INLINE_VISIBILITY  + set(_InputIterator __f, _InputIterator __l, const allocator_type& __a) + : set(__f, __l, key_compare(), __a) {} +#endif +  _LIBCPP_INLINE_VISIBILITY  set(const set& __s)  : __tree_(__s.__tree_) @@ -494,6 +511,12 @@  insert(__il.begin(), __il.end());  }   +#if _LIBCPP_STD_VER > 11 + _LIBCPP_INLINE_VISIBILITY  + set(initializer_list<value_type> __il, const allocator_type& __a) + : set(__il, key_compare(), __a) {} +#endif +  _LIBCPP_INLINE_VISIBILITY  set& operator=(initializer_list<value_type> __il)  { @@ -817,6 +840,13 @@  insert(__f, __l);  }   +#if _LIBCPP_STD_VER > 11 + template <class _InputIterator> + _LIBCPP_INLINE_VISIBILITY  + multiset(_InputIterator __f, _InputIterator __l, const allocator_type& __a) + : multiset(__f, __l, key_compare(), __a) {} +#endif +  template <class _InputIterator>  _LIBCPP_INLINE_VISIBILITY  multiset(_InputIterator __f, _InputIterator __l, @@ -876,6 +906,12 @@  insert(__il.begin(), __il.end());  }   +#if _LIBCPP_STD_VER > 11 + _LIBCPP_INLINE_VISIBILITY  + multiset(initializer_list<value_type> __il, const allocator_type& __a) + : multiset(__il, key_compare(), __a) {} +#endif +  _LIBCPP_INLINE_VISIBILITY  multiset& operator=(initializer_list<value_type> __il)  {